home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / DRVLIB.NIC / NPAT / OEMSETUP.INF < prev   
Encoding:
INI File  |  1996-07-31  |  27.1 KB  |  751 lines

  1. [Identification]
  2.     OptionType = NetAdapter
  3. [PlatformsSupported]
  4.     ISA
  5.     EISA
  6.     "Jazz-Internal Bus"
  7. [LanguagesSupported]
  8.     ENG
  9. [Options]
  10.     NPAT2
  11.     NPAT3
  12. [OptionsTextENG]
  13.     NPAT2 = "Network Peripherals FDDI, AT2"
  14.     NPAT3 = "Network Peripherals FDDI, AT3"
  15. [IRQChoicesNPAT2]
  16. IRQ_0 = "10",10
  17. IRQ_1 = "11",11
  18. [IRQChoicesNPAT3]
  19. IRQ_0 = "9",9
  20. IRQ_1 = "10",10
  21. IRQ_2 = "11",11
  22. IRQ_3 = "15",15
  23. [IOBaseAddrChoices]
  24. IOBase_1  = "0x160",352
  25. IOBase_2  = "0x180",384
  26. IOBase_3  = "0x260",608
  27. IOBase_4  = "0x280",640
  28. IOBase_5  = "0x360",864
  29. IOBase_6  = "0x380",896
  30. [FileConstants]
  31. UtilityInf      = "UTILITY.INF"
  32. subroutineinf   = "SUBROUTN.INF"
  33. SoftwareType    = "driver"
  34. Exit_Code       = 0
  35. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  36. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  37. Manufacturer    = "Microsoft"
  38. ProductMajorVersion     = "3"
  39. ProductMinorVersion     = "1"
  40. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  41. ProductSoftwareName     = "NPAT"
  42. ProductSoftwareTitle    = "Network Peripherals FDDI, AT Driver"
  43. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\npat.sys"
  44. NetRuleSoftwareType     = "npatSys ndisDriver npatDriver"
  45. NetRuleSoftwareUse      = $(SoftwareType)
  46. NetRuleSoftwareBindForm = """NpatSys"" yes no container"
  47. NetRuleSoftwareClass    = {"npatDriver basic"}
  48. NetRuleSoftwareBindable = {"npatDriver npatAdapter non exclusive 100"} 
  49. ProductHardwareName     = "NPAT"
  50. ProductHardwareNPAT2Title = "Network Peripherals FDDI, AT2"
  51. ProductHardwareNPAT3Title = "Network Peripherals FDDI, AT3"
  52. NetRuleHardwareType     = "npat npatAdapter"
  53. NetRuleHardwareBindForm = " yes yes container"
  54. NetRuleHardwareClass    = {"npatAdapter basic"}
  55. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  56. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  57. [GeneralConstants]
  58. from      = ""
  59. to        = ""
  60. ExitCodeOk     = 0
  61. ExitCodeCancel = 1
  62. ExitCodeFatal  = 2
  63. KeyNull         = ""
  64. MAXIMUM_ALLOWED   = 33554432
  65. RegistryErrorIndex = NO_ERROR
  66. KeyProduct      = ""
  67. KeyParameters   = ""
  68. TRUE            = 1
  69. FALSE           = 0
  70. NoTitle            = 0
  71. ExitState   = "Active"
  72. OldVersionExisted = $(FALSE)
  73. DriverPath      = $(!STF_NTPATH)\drivers
  74. [FileConstantsENG]
  75. ProCaption   = "Windows NT Setup"
  76. ProCancel    = "Cancel"
  77. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  78.                "Are you sure you want to cancel copying files?"
  79. ProCancelCap = "Network Setup Message"
  80. ProText1     = "Copying:"
  81. ProText2     = "To:"
  82. FunctionTitle   = "Network Peripherals FDDI, AT Setup"
  83. ProductSoftwareDescription      = "Network Peripherals FDDI, AT Driver"
  84. ProductHardwareNPAT2Description   = "Network Peripherals FDDI, AT2"
  85. ProductHardwareNPAT3Description   = "Network Peripherals FDDI, AT3"
  86. IRQList  = ^(IRQChoices$(Option), 1)
  87. IRQValues = ^(IRQChoices$(Option), 2)
  88. IOBaseAddrList = ^(IOBaseAddrChoices, 1)
  89. IOBaseAddrValues = ^(IOBaseAddrChoices, 2)
  90. [DialogConstantsENG]
  91. Help        = "&Help"
  92. Exit        = "Cancel"
  93. OK          = "OK"
  94. HelpContext = ""
  95. Continue    = "Continue"
  96. Cancel      = "Cancel"
  97. [date]
  98.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  99. [FileDependentDlgENG]
  100. DlgType = "Combination"
  101. DlgTemplate = "NE2000"
  102. Caption = $(FunctionTitle)
  103. Label1 = "&Interrupt Number:"
  104. Label2 = "I/O &Port Base Addr:"
  105. Combo1List = $(IRQList)
  106. Combo1Out  = $(IRQValue)
  107. Combo2List = $(IOBaseAddrList)
  108. Combo2Out  = $(IOBaseAddrValue)
  109. ComboListItemsIn  = {Combo1List, Combo2List}
  110. ComboListItemsOut = {Combo1Out, Combo2Out}
  111. EditTextLim = ""
  112. CBOptionsGreyed = {}
  113. HelpContext = 100
  114. [Identify]
  115.     read-syms Identification
  116.     set Status     = STATUS_SUCCESSFUL
  117.     set Identifier = $(OptionType)
  118.     set Media      = #("Source Media Descriptions", 1, 1)
  119.     Return $(Status) $(Identifier) $(Media)
  120. [ReturnOptions]
  121.     set Status        = STATUS_FAILED
  122.     set OptionList     = {}
  123.     set OptionTextList = {}
  124.     set LanguageList = ^(LanguagesSupported, 1)
  125.     Ifcontains(i) $($0) in $(LanguageList)
  126.         ifstr(i) $($1) == ""
  127.            goto returnoptions
  128.         endif
  129.         set PlatformList = ^(PlatformsSupported, 1)
  130.         Ifcontains(i) $($1) in $(PlatformList)
  131.            goto returnoptions
  132.         else
  133.            set Status = STATUS_NOTSUPPORTED
  134.            goto finish_ReturnOptions
  135.         endif
  136.     else
  137.         set Status = STATUS_NOLANGUAGE
  138.         goto finish_ReturnOptions
  139.     endif
  140. returnoptions = +
  141.     set OptionList     = ^(Options, 1)
  142.     set OptionTextList = ^(OptionsText$($0), 1)
  143.     set Status         = STATUS_SUCCESSFUL
  144. finish_ReturnOptions = +
  145.     Return $(Status) $(OptionList) $(OptionTextList)
  146. [InstallOption]
  147.     set Option   = $($1)
  148.     set SrcDir   = $($2)
  149.     set AddCopy  = $($3)
  150.     set DoCopy   = $($4)
  151.     set DoConfig = $($5)
  152.     set LanguageList = ^(LanguagesSupported, 1)
  153.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  154.         Return STATUS_NOLANGUAGE
  155.     endif
  156.     Debug-Output "OEMSETUP.INF: STF_CWDDIR is: "$(!STF_CWDDIR)
  157.     Debug-Output "OEMSETUP.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  158.     set-subst LF = "\n"
  159.     read-syms GeneralConstants
  160.     read-syms FileConstants
  161.     read-syms DialogConstants$(!STF_LANGUAGE)
  162.     ifstr(i) $(!NTN_Origination) == "NCPA"
  163.         set Continue = "OK"
  164.     endif
  165.     read-syms FileConstants$(!STF_LANGUAGE)
  166.     detect date
  167.     set-title  $(FunctionTitle)
  168.     set to   = Begin
  169.     set from = Begin
  170.     set CommonStatus = STATUS_SUCCESSFUL
  171.     EndWait
  172. Begin = +
  173.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  174.         set StartLabel = removeadapter
  175.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  176.         set StartLabel = UpgradeSoftware
  177.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  178.         set StartLabel = bindingadapter
  179.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  180.         set StartLabel = configureadapter
  181.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  182.             Debug-Output "OEMSETUP.INF: Cannot configure the driver software."
  183.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  184.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  185.                 Debug-Output "OEMSETUP.INF: ShellCode error: cannot get an error string."
  186.                 goto ShellCodeError
  187.             endif
  188.             set Error = $($R0)
  189.             set from = end
  190.             set to = end
  191.             goto nonfatalinfo
  192.         endif
  193.     else
  194.         set StartLabel = installadapter
  195.         set OEM_ABANDON_OPTIONS = {}
  196.         set OEM_ABANDON_SOFTWARE = FALSE
  197.         set OEM_ABANDON_ON = TRUE
  198.     endif
  199.     set IRQValue = *($(IRQList), 2)
  200.     set IOBaseAddrValue = *($(IOBaseAddrList), 5)
  201.     set EditTextIn = "1"
  202.     set from = $(fatal)
  203.     set to = $(fatal)
  204.     goto $(StartLabel)
  205. installadapter = +
  206.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  207.     Ifstr $(KeyProduct) != $(KeyNull)
  208.         CloseRegKey $(KeyProduct)
  209.         ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  210.            Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  211.                $(ProductVersion)
  212.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  213.                Debug-Output "OEMSETUP.INF: ShellCode error: cannot get an error string."
  214.                goto ShellCodeError
  215.            endif
  216.            goto end
  217.         else
  218.            Shell $(UtilityInf), CardExistedDlg
  219.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  220.                Debug-Output "OEMSETUP.INF: ShellCode error: cannot get an error string."
  221.                goto ShellCodeError
  222.            endif
  223.            ifstr(i) $($R1) != "OK"
  224.                goto end
  225.            endif
  226.            set OldVersionExisted = $(TRUE)
  227.         endif
  228.     Endif
  229.     Install "Install-Help"
  230.     Goto adapteroptions
  231. configureadapter = +
  232.     Ifstr(i) $(KeyProduct) == $(KeyNull)
  233.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  234.         Ifstr $(KeyProduct) == $(KeyNull)
  235.             Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  236.             Debug-Output "OEMSETUP.INF: Cannot find component product key"
  237.            Goto fatalregistry
  238.         Endif
  239.     Endif
  240.     Debug-Output "OEMSETUP.INF: INF: Shelling to FindService"
  241.     Shell $(UtilityInf) FindService, $(KeyProduct)
  242.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  243.         Debug-Output "OEMSETUP.INF: INF: FindService shell failure"
  244.         Goto ShellCodeError
  245.     Endif
  246.     Ifstr(i) $($R0) != NO_ERROR
  247.         Debug-Output "OEMSETUP.INF: INF: FindService Shell error: "$($R0)
  248.         Goto fatalregistry
  249.     endif
  250.     set KeyParameters = $($R2)
  251.     CloseRegKey $($R1)
  252.     Ifstr $(KeyParameters) == $(KeyNull)
  253.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  254.         Debug-Output "OEMSETUP.INF: Cannot find component service"
  255.         goto fatalregistry
  256.     endif
  257.     set OldVersionExisted = $(TRUE )
  258.     set ValueName = ""
  259.     set ValueData = ""
  260.     set ValueStr  = ""
  261.     set ValueList = {}
  262.     EnumRegValue $(KeyParameters) ValueList
  263.     ForListDo $(ValueList)
  264.         set ValueItem = $($)
  265.         set ValueName = *($(ValueItem),1)
  266.         set ValueData = *($(ValueItem),4)
  267.         Ifstr(i) $(ValueName) == "InterruptNumber"
  268.             set IRQValueIndex = $(ValueData)
  269.         else-ifstr(i) $(ValueName) == "IoBaseAddress"
  270.             set IOBaseAddrIndex = $(ValueData)
  271.         else-ifstr(i) $(ValueName) == "BusType"
  272.             set BusInterfaceType = $(ValueData)
  273.         else-ifstr(i) $(ValueName) == "BusNumber"
  274.             set BusNumber = $(ValueData)
  275.         endif
  276.     EndForListDo
  277.     set IRQValue = *($(IRQList), ~($(IRQValues),$(IRQValueIndex)))
  278.     ifstr(i) $(IRQValue) == ""
  279.         set IRQValue = *($(IRQList), 1)
  280.     endif
  281.     set IOBaseAddrValue = *($(IOBaseAddrList), +
  282.          ~($(IOBaseAddrValues),$(IOBaseAddrIndex)))
  283.     ifstr(i) $(IOBaseAddrValue) == ""
  284.         set IOBaseAddrValue = *($(IOBaseAddrList), 1)
  285.     endif
  286. adapteroptions = +
  287.     set from = adapteroptions
  288.     sethelpfile "npat.hlp" 100 100
  289.     read-syms FileDependentDlg$(!STF_LANGUAGE)
  290.     ui start "InputDlg"
  291.     ifstr(i) $(DLGEVENT) == "CONTINUE"
  292.         set IRQValueIndex = $(Combo1Out)
  293.         set IOBaseAddrIndex = $(Combo2Out)
  294.         ui pop 1
  295.         goto nextstep
  296.     else-ifstr(i) $(DLGEVENT) == "BACK"
  297.         set CommonStatus = STATUS_USERCANCEL
  298.         Debug-Output "OEMSETUP.INF: Action: exit. Bye."
  299.         ui pop 1
  300.         goto end
  301.     else
  302.         ui pop 1
  303.         Debug-Output "OEMSETUP.INF: Action: unknown. Bye."
  304.         goto end
  305.     endif
  306.     ifstr(i) $(!STF_NCDETINFO) == {}
  307.         Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
  308.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  309.             Debug-Output "ShellCode error."
  310.             goto ShellCodeError
  311.         endif
  312.         set BusInterfaceType = $($R1)
  313.         set BusNumber = $($R2)
  314.     else
  315.         set BusInterfaceType = *($(!STF_NCDETINFO),5)
  316.         set BusNumber = *($(!STF_NCDETINFO),6)
  317.     endif
  318. nextstep = +
  319.     ifint $(OldVersionExisted) == $(TRUE)
  320.         ifstr(i) $(!NTN_InstallMode) == configure
  321.             goto writeparameters
  322.         endif
  323.     endif
  324.     StartWait
  325.     Ifint $(OldVersionExisted) != $(FALSE)
  326.         Goto installhardware
  327.     Endif
  328.     ifstr(i) $(!NTN_InstallMode) == "install"
  329.        Ifstr(i) $(DoCopy) == "YES"
  330.           Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  331.           Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  332.               Goto ShellCodeError
  333.           Else-Ifstr(i) $($R0) == STATUS_FAILED
  334.               Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  335.               ifint $($ShellCode) != $(!SHELL_CODE_OK)
  336.                   goto ShellCodeError
  337.               endif
  338.               set Error = $($R0)
  339.               Goto fatal
  340.           Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  341.               Goto successful
  342.           Endif
  343.           Set SrcDir = $($R1)
  344.        Endif
  345.        install "Install-Option"
  346.        ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  347.            Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  348.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  349.                goto ShellCodeError
  350.            endif
  351.            set Error = $($R0)
  352.            goto fatal
  353.        endif
  354.     endif
  355.     Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  356.         $(ProductSoftwareName), +
  357.         $(ProductSoftwareName), +
  358.         $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  359.         $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  360.         $(NetEventDLL), ""
  361.     Set OEM_ABANDON_SOFTWARE = TRUE
  362.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  363.         Debug-Output "OEMSETUP.INF: ShellCode error"
  364.         goto ShellCodeError
  365.     endif
  366.     set RegistryErrorIndex = $($R0)
  367.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  368.         EndWait
  369.         Debug-Output "OEMSETUP.INF: Registry error: add software components"
  370.         CloseRegKey $($R1)
  371.         CloseRegKey $($R2)
  372.         CloseRegKey $($R3)
  373.         CloseRegKey $($R4)
  374.         CloseRegKey $($R5)
  375.         goto fatalregistry
  376.     endif
  377.     Set SoftProductKey  = $($R1)
  378.     Set SoftNetRuleKey  = $($R2)
  379.     Set SoftServiceKey  = $($R3)
  380.     Set SoftParameterKey        = $($R4)
  381.     Set SoftLinkageKey  = $($R5)
  382.     set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  383.                        {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  384.                        {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  385.                        {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  386.                        {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  387.                        {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  388.                        {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  389.     Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  390.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  391.             Debug-Output "OEMSETUP.INF: ShellCode error."
  392.             goto ShellCodeError
  393.     endif
  394.     set RegistryErrorIndex = $($R0)
  395.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  396.             EndWait
  397.             Debug-Output "OEMSETUP.INF: Registry error: add value list for software product."
  398.             CloseRegKey $(SoftProductKey)
  399.             CloseRegKey $(SoftNetRuleKey)
  400.             CloseRegKey $(SoftServiceKey)
  401.             CloseRegKey $(SoftParameterKey)
  402.         CloseRegKey $(SoftLinkageKey)
  403.         goto fatalregistry
  404.     endif
  405.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  406.                         {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  407.                         {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  408.                         {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  409.                         {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  410.                         {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  411.     Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  412.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  413.             Debug-Output "OEMSETUP.INF: ShellCode error."
  414.             goto ShellCodeError
  415.     endif
  416.     Set RegistryErrorIndex = $($R0)
  417.     CloseRegKey $(SoftProductKey)
  418.     CloseRegKey $(SoftNetRuleKey)
  419.     CloseRegKey $(SoftServiceKey)
  420.     CloseRegKey $(SoftParameterKey)
  421.     CloseRegKey $(SoftLinkageKey)
  422.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  423.         EndWait
  424.         Debug-Output "OEMSETUP.INF: Registry error: add value list."
  425.         goto fatalregistry
  426.     endif
  427. installhardware =+
  428.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  429.     ifint $($R4) != -1
  430.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  431.     endif
  432.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  433.         Debug-Output "OEMSETUP.INF: Cannot add hardware component"
  434.         goto ShellCodeError
  435.     endif
  436.     set RegistryErrorIndex = $($R0)
  437.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  438.         EndWait
  439.         Debug-Output "OEMSETUP.INF: Registry error: add hardware component"
  440.         CloseRegKey $($R1)
  441.         CloseRegKey $($R2)
  442.         CloseRegKey $($R3)
  443.         goto fatalregistry
  444.     endif
  445.     set KeyProduct = $($R1)
  446.     set KeyAdapterRules = $($R2)
  447.     set KeyParameters = $($R3)
  448.     set AdapterNumber = $($R4)
  449.     set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  450.                        {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  451.                        {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  452.                        {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  453.                        {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  454.                        {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  455.     Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  456.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  457.         Debug-Output "OEMSETUP.INF: ShellCode error"
  458.         goto ShellCodeError
  459.     endif
  460.     CloseRegKey $(KeyProduct)
  461.     Set KeyProduct = ""
  462.     set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  463.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  464.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  465.                         {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  466.                         {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  467.                         {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  468.     Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  469.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  470.         Debug-Output "OEMSETUP.INF: ShellCode error."
  471.         goto ShellCodeError
  472.     endif
  473.     CloseRegKey $(KeyAdapterRules)
  474.     Set RegistryErrorIndex = $($R0)
  475.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  476.         EndWait
  477.         Debug-Output "OEMSETUP.INF: Registry error: add value list."
  478.         CloseRegKey $(KeyParameters)
  479.         goto fatalregistry
  480.     Endif
  481. writeparameters = +
  482.     Shell $(UtilityInf), GetBusTypeNum
  483.     set BusTypeNum = $($R1)
  484.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  485.         Debug-Output "ShellCode error."
  486.         goto ShellCodeError
  487.     endif
  488.     Ifstr(i) $(KeyParameters) == $(KeyNull)
  489.         Debug-Output "OEMSETUP.INF:  *** KeyParameters is NULL at writeparameters"
  490.     Endif
  491.     set IRQValue = *($(IRQValues), ~($(IRQList),$(IRQValueIndex)))
  492.     set IOBaseAddrValue = *($(IOBaseAddrValues), ~($(IOBaseAddrList),$(IOBaseAddrIndex)))
  493.     ifstr(i) $(Option) == "NPAT2"
  494.         set CardType = "2"
  495.     else-ifstr(i) $(Option) == "NPAT3"
  496.         set CardType = "3"
  497.     endif
  498.     set NewValueList = {+
  499.                         {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  500.                         {MediaType,$(NoTitle),$(!REG_VT_DWORD),3},+
  501.                         {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  502.                         {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
  503.                         {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)}}
  504.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  505.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  506.         Debug-Output "OEMSETUP.INF: ShellCode error."
  507.         goto ShellCodeError
  508.     endif
  509.     Set RegistryErrorIndex = $($R0)
  510.     CloseRegKey $(KeyParameters)
  511.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  512.         Debug-Output "OEMSETUP.INF: Registry error: Add value list"
  513.         goto fatalregistry
  514.     Endif
  515.     EndWait
  516.     goto successful
  517. bindingadapter =+
  518.     set Error = "Binding: Sorry, not yet implemented."
  519.     goto fatal
  520. removeadapter = +
  521.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  522.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  523.             $(ProductSoftwareName)
  524.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  525.             Debug-Output "OEMSETUP.INF: ShellCode error"
  526.             goto ShellCodeError
  527.         endif
  528.         set RegistryErrorIndex = $($R0)
  529.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  530.             goto fatalregistry
  531.         endif
  532.     else
  533.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  534.             $(ProductSoftwareName), $(!NTN_RegBase)
  535.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  536.             Debug-Output "OEMSETUP.INF: ShellCode error"
  537.             goto ShellCodeError
  538.         endif
  539.         set RegistryErrorIndex = $($R0)
  540.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  541.             goto fatalregistry
  542.         endif
  543.     endif
  544.     goto end
  545. UpgradeSoftware = +
  546.     ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  547.         OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  548.         Ifstr $(KeyProduct) != $(KeyNull)
  549.             GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  550.             set Version = *($(VersionInfo), 4)
  551.             Split-String $(!NTN_Infname), "\", FilenameList
  552.             QueryListSize ListSize $(FilenameList)
  553.             set !UG_Filename = *($(FilenameList), $(ListSize))
  554.             install "Install-Update"
  555.             ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  556.                 goto fatal
  557.             endif
  558.             SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  559.             SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  560.             ifint $(Version) != $(ProductVersion)
  561.             endif
  562.             CloseRegKey $(KeyProduct)
  563.         else
  564.             goto fatalregistry
  565.         endif
  566.     else
  567.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
  568.               $(MAXIMUM_ALLOWED) NetworkCardKey
  569.         Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  570.             GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  571.             set ServiceName = *($(ServiceNameInfo), 4)
  572.             OpenRegKey $(NetworkCardKey) "" "NetRules" +
  573.                 $(MAXIMUM_ALLOWED) NetRuleKey
  574.             Ifstr(i) $(NetRuleKey) != $(KeyNull)
  575.             else
  576.                 goto fatalregistry
  577.             endif
  578.             CloseRegKey $(NetRules)
  579.             CloseRegKey $(NetworkCardKey)
  580.         else
  581.             goto fatalregistry
  582.         endif
  583.         OpenRegKey $(!REG_H_LOCAL) "" +
  584.               $(!NTN_ServiceBase)"\"$(ServiceName) +
  585.               $(MAXIMUM_ALLOWED) ServiceKey
  586.         Ifstr(i) $(ServiceKey) != $(KeyNull)
  587.             CloseRegKey $(ServiceKey)
  588.         else
  589.             goto fatalregistry
  590.         endif
  591.     endif
  592.     goto end
  593. successful = +
  594.     goto end
  595. abandon = +
  596.     ForListDo $(OEM_ABANDON_OPTIONS)
  597.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  598.             $(ProductSoftwareName), $($)
  599.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  600.             Debug-Output "OEMSETUP.INF: ShellCode error"
  601.             goto ShellCodeError
  602.         endif
  603.         set RegistryErrorIndex = $($R0)
  604.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  605.             goto fatalregistry
  606.         endif
  607.     EndForListDo
  608.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  609.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  610.             $(ProductSoftwareName), FALSE
  611.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  612.             Debug-Output "OEMSETUP.INF: ShellCode error"
  613.             goto ShellCodeError
  614.         endif
  615.         set RegistryErrorIndex = $($R0)
  616.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  617.             goto fatalregistry
  618.         endif
  619.     endif
  620.     goto end
  621. warning = +
  622.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  623.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  624.         goto ShellCodeError
  625.     endif
  626.     ifstr(i) $($R1) == "OK"
  627.         goto $(to)
  628.     else-ifstr(i) $($R1) == "CANCEL"
  629.         goto $(from)
  630.     else
  631.         goto "end"
  632.     endif
  633. nonfatalinfo = +
  634.     Set CommonStatus = STATUS_USERCANCEL
  635.     Set Severity = STATUS
  636.     goto nonfatalmsg
  637. nonfatal = +
  638.     Set Severity = NONFATAL
  639.     goto nonfatalmsg
  640. nonfatalmsg = +
  641.     ifstr(i) $(Error) == ""
  642.         Set Severity = NONFATAL
  643.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  644.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  645.             goto ShellCodeError
  646.         endif
  647.         set Error = $($R0)
  648.     endif
  649.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  650.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  651.         goto ShellCodeError
  652.     endif
  653.     ifstr(i) $($R1) == "OK"
  654.         goto $(from)
  655.     else
  656.         goto "end"
  657.     endif
  658. fatalregistry = +
  659.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  660.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  661.         goto ShellCodeError
  662.     endif
  663.     set Error = $($R0)
  664.     goto fatal
  665. fatal = +
  666.     ifstr(i) $(Error) == ""
  667.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  668.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  669.             goto ShellCodeError
  670.         endif
  671.         set Error = $($R0)
  672.     endif
  673.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  674.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  675.         goto ShellCodeError
  676.     endif
  677.     goto setfailed
  678. ShellCodeError = +
  679.     set DlgType      = "MessageBox"
  680.     set STF_MB_TITLE = "Error: "$(FunctionTitle)
  681.     set STF_MB_TEXT  = "Shell Code Error"
  682.     set STF_MB_TYPE  = 1
  683.     set STF_MB_ICON  = 3
  684.     set STF_MB_DEF   = 1
  685.     ui start "Error Message"
  686.     goto setfailed
  687. setfailed = +
  688.     set CommonStatus = STATUS_FAILED
  689.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  690.         set OEM_ABANDON_ON = FALSE
  691.         goto abandon
  692.     endif
  693.     goto end
  694. end = +
  695.     goto term
  696. term = +
  697.     Return $(CommonStatus)
  698. [Install-Option]
  699.     set STF_VITAL = ""
  700.     ifstr(i) $(AddCopy) == "YES"
  701.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  702.     endif
  703.     Debug-Output "OEMSETUP.INF: [Install-Option] DoCopy = "$(DoCopy)
  704.     ifstr(i) $(DoCopy) == "YES"
  705.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  706.        CopyFilesInCopyList
  707.     endif
  708.     ifstr(i) $(DoConfig) == "YES"
  709.     endif
  710.     Exit
  711.  
  712. [Install-Help]
  713.    set STF_VITAL        = ""
  714.    AddSectionFilesToCopyList Files-Help $(SrcDir) $(!STF_WINDOWSSYSPATH)
  715.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  716.    CopyFilesInCopyList
  717.    exit
  718.  
  719. [Install-Update]
  720.    set STF_VITAL        = ""
  721.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  722.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  723.    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  724.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  725.    CopyFilesInCopyList
  726.    exit
  727.  
  728. [Install-Help]
  729.  
  730. [Source Media Descriptions]
  731.     1  = "NPI Setup Disk"  
  732.  
  733. [Signature]
  734.     FileType = MICROSOFT_DRVLIB_FILE
  735. [GetSignature]
  736.     read-syms Signature
  737.     return $(FileType)
  738.  
  739. [ProductType]
  740. STF_PRODUCT  = Winnt
  741. STF_PLATFORM = I386
  742. [Files-Inf]
  743. 1,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  744. [Files-NPAT2]
  745. 1,npat.sys , SIZE=199168
  746. [Files-NPAT3]
  747. 1,npat.sys , SIZE=199168
  748. [Files-Help]
  749. 1, NPAT.HLP, SIZE=9999
  750.  
  751.